Date: Wed, 20 Nov 1996 22:32:49 GMT
Server: NCSA/1.5.1
Last-modified: Wed, 13 Nov 1996 15:14:22 GMT
Content-type: text/html
Content-length: 8616


<TITLE>C212 Intro to Software Systems</TITLE>
<body background="../bitmaps/sandstone.jpg">

<H2>C212 Intro to Software Systems (4 cr.) -- Fall 1996</H2>
<DL>
<DT>Lecture (sction 1130)
<DD> 9:30A-10:45A TR  WH007 
<DT> Discussion (section 1131)
<DD> 8:00A-8:50A F LH019 
<DT> Discussion (section 1132)
<DD> 9:00A-9:50 F BU427 
<DT> Discussion (section 8458 &amp; 8458)
<DD> 10:10A-11:00A F BU 427 

</DL>


<H3>Contents</H3>

<UL>
<LI> <!WA0><A HREF="#general">General information</A>
<LI> <!WA1><A HREF="#description">Course description</A>
<LI> <!WA2><A HREF="#materials">Course materials</A>
<LI> <!WA3><A HREF="#syllabus">Syllabus and lecture scripts</A>
<LI> <!WA4><A HREF="#assignments">Assignments</A>
<LI> <!WA5><A HREF="#communication">Communication</A>
<LI> <!WA6><A HREF="#evaluation">Evaluation</A>
<LI> <!WA7><A HREF="#gradebooks">Gradebooks</A>
<LI> <!WA8><A HREF="#policies">Policies</A>
</UL>

<A NAME="general"><H2>General Information</H2></A>

<DL>
<DT> Instructor
<DD> <!WA9><A HREF="http://www.cs.indiana.edu/hyplan/gannon.html">
	Dennis Gannon</A>,  email: <EM>gannon.cs.indiana.edu</EM> <BR>
     Office Hours: Tues,Weds,Thurs 11:30-12:30.
     
<DT> Associate Instructors
<DD> <!WA10><A HREF = "http://www.cs.indiana.edu/hyplan/jfrens.html"> 
Jeremy D. Frens</A>, email: <em>jfrens.cs.indiana.edu</em> <BR>
Office Hours: Tues 8-9, Weds 8-9, 3-4, Thurs 1-3.
<DD> <!WA11><A HREF = "http://www.cs.indiana.edu/hyplan/mirobert.html">
Michael Roberts</A>, email: <em>mirobert.cs.indiana.edu</em>
<DT> Prerequisites
<DD> <!WA12><A HREF = "http://www.indiana.edu/classes/c211/home.html">C211</A>.
<DT> Local newsgroup
<DD> <!WA13><A NAME=1 HREF="news:ac.csci.c212">ac.csci.c212</A>
</DL> 

check your grades with: 
<!WA14><A HREF="http://molerat.cs.indiana.edu:1215/cgi-bin/gb.pl?section=1130">
Course Gradebook.</A>

<A NAME="description"><H3>Course Description</H3></A>

This course is an introduction to applications programming.  It will be
based on C++ in the Unix environment, but if you have a PC or MAC with
a good C++ compiler, you can do your work there.  However, if you do
use the MAC or PC, you will still need to learn Unix.  As time permits
we will also introduce programming in Java.
 
<H4>Topics include:</H4>
<UL>
<li> C++
<li> Object Oriented Programming.
<li> Unix file system operations.
<li> Basic network operation and programming.
<li> C++ templates.
<li> Java class and applet design
</UL> 


<A NAME="materials"><H3>Course Materials</H3></A>
<DL>
<DT> Required Text
<DD> Dietel & Dietel <EM>C++,</EM>
</DL>
<p>
Also read the web tutorial on <!WA15><A HREF = "http://www.eng.hawaii.edu/Tutor/Make/index.html">Makfiles</A>
<p>


<A NAME="syllabus"><H3>Syllabus</H3></A>

<pre>
Week 1 	Ch. 1.	Basic Concepts.
Week 2	Ch. 2.	Control Structures.
		Conditionals and iteration:
 		   if, if/else, while, for.
		   Array intro: Chapters 4.1-4.3.
Week 3          More on Control.
		   switch, do/while, break, continue.
 		   logical operators.
Week 4	Ch. 3.  Functions.
		   basic libraries, prototypes, header files,
		   recursion.
		   recursion vs. interation, Inline,
		   reference parameters, default arguments,
		   scope, overloading and templates.

Week 5. Ch. 4   Finish Arrays
		   passing arrays to functions.
		   sorting, searching.
		   2-D arrays.

Midterm 1  Oct. 10.

Week 7 	Ch. 5	Pointers and Strings
		   Pointer types, operators, pointer arithmetic.
		   Pointers and arrays.
		   The string library.
Week 8.	Ch. 6	Classes and Data Abstraction
		   Struct members: data and function encapsulation.
		   controlling access in classes.
		   Constructors and destructors.
Week 9.	Ch. 7.  More on Classes.
		   nesting classes, "this" pointer.
		   new and delete.
		   data abstraction.
Week 10	Ch. 8.	Operator Overloading.
		   an array class.  a string class.
        Ch. 9.	Inheritance.
		   base classes and derived classes.
		   Using member Functions.

Midterm 2.  Nov. 21

Week 12	Java part 1.
		Java vs. C++.  
		classes, inheritance and interfaces.
Week 13 Java part 2.
		Applet design.  
		The User Interface Library,
		the Graphics library.
Week 14 Java part 3.
		The Net library.
Week 15. C++ and Java.  Making them work together.

Final Exam.  

</pre>
<H3> Lecture Notes </H3>
<UL>
<LI> <!WA16><A HREF="http://www.extreme.indiana.edu/~gannon/c212w1.html"> Notes from week 1</A>
<LI> <!WA17><A HREF="http://www.extreme.indiana.edu/~gannon/c212w2.html"> Notes from week 2</A>
<LI> <!WA18><A HREF="http://www.extreme.indiana.edu/~gannon/c212w3.html"> Notes from week 3</A>
<LI> <!WA19><A HREF="http://www.extreme.indiana.edu/~gannon/c212w4.html"> Notes from week 4</A>
<LI> <!WA20><A HREF="http://www.extreme.indiana.edu/~gannon/c212w5.html"> Notes from week 5</A>
<LI> <!WA21><A HREF="http://www.extreme.indiana.edu/~gannon/questions1.html"> Notes from week 6</A> Midterm review.
<LI> <!WA22><A HREF="http://www.extreme.indiana.edu/~gannon/c212w7.html"> Notes from week 7</A>
<LI> <!WA23><A HREF="http://www.extreme.indiana.edu/~gannon/c212w8.html"> Notes from week 8</A>
<LI> <!WA24><A HREF="http://www.extreme.indiana.edu/~gannon/c212w9.html"> Notes from week 9</A>
<LI> <!WA25><A HREF="http://www.extreme.indiana.edu/~gannon/c212w10.html"> Notes from week 10</A>
<LI> <!WA26><A HREF="http://www.extreme.indiana.edu/~gannon/c212w11.html"> Notes from week 11</A>
<LI> <!WA27><A HREF="http://www.extreme.indiana.edu/~gannon/c212w11_mt2s.html"> Study Guide for Midterm 2</A>
</UL>		   


<A NAME="assignments"><H3>Assignments</H3></A>

Assignments will be given each week.  You will receive each assignment
on Thurday and it will be due the following Friday at 4:30pm
of the following week.  The best way to hand in your assignments
is to give them to the teaching assist. in section on friday.
However, you may also deposit them in the homework box in lindley
hall, second floor up to 4:30 pm on Friday.
<p>
You will always turn in a hard copy of the source with comments
and a script of the compilation and execution and output.
(See the instructions in Assignment 1 below.)
<p>
Grading Policy:  Each assignment will be graded on a scale of 0 to 10.
If the program fails to compile it will receive 0 points.  Late assignments
will receive 0 points.
<P>
<UL>
<LI> <!WA28><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign1.html">Assigment 1</A>
<LI> <!WA29><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign2.html">Assigment 2</A>
<LI> <!WA30><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign3.html">Assigment 3</A>
<LI> <!WA31><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign4.html">Assigment 4</A>
<LI> <!WA32><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign5.html">Assigment 5</A>
<LI> <!WA33><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign6.html">Assigment 6</A>
<LI> <!WA34><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign7.html">Assigment 7</A>
<LI> <!WA35><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign8.html">Assigment 8</A>
<LI> <!WA36><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign9.html">Assigment 9</A>
<LI> <!WA37><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign10.html">Assigment 10</A>
<LI> <!WA38><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign11.html">Assigment 11</A>
<LI> <!WA39><A HREF="http://www.extreme.indiana.edu/~gannon/c212assign12.html">Assigment 12</A>

</UL>


<A NAME="communication"><H3>Communication</H3></A>

The course newsgroup, <!WA40><A NAME=1 HREF="news:ac.csci.c212">ac.csci.c212</A>, 
will be
used to post announcements, such as assignments, exams, and any exceptions
to our usual office hours.  You are also encouraged to use it to post
questions related to the course or share related information with the
class.  Make a habit of looking for new notes a few times each week.<P>
On individual matters, please feel free to contact your instructor or
associate instructor via email.

This course description is accessible as an HTML (hypertext markup
language) file on the WWW (World Wide Web) with the URL (Universal Resource
Locator) <KBD>http://www.cs.indiana.edu/l/www/classes/c212</KBD>.  It
will be updated with additional information as the course progresses.<P>

To view a resource given its URL, use the Netscape program on a
networked PC or Mac.  Netscape underlines HTML hypertext links.  To
follow a link, click on it.  The URL for the computer science
department's home page is <!WA41><A HREF="http://www.cs.indiana.edu/home-page.html">
http://www.cs.indiana.edu/home-page.html</A>, from which all sorts of
information can be obtained.

<A NAME="evaluation"><H3>Evaluation</H3></A>
<UL>
<LI> 20% -- Homework
<LI> 25% -- Exam 1,   
<LI> 25% -- Exam 2,  
<LI> 30% -- Final Exam, 
</UL>

<A NAME="policies"><H3>Policies</H3></A>

<H4>Attendance</H4>
Class attendance will not be monitored although regular attendance and
class participation are strongly recommended.  Attendance at examinations
is compulsory and make-up examinations will normally not be given.  No
special assignments or projects will be given to help students raise their
grades.  

<H4>Academic Integrity</H4>
Read the Computer Science Department's <!WA42><A
HREF="http://www.cs.indiana.edu/integrity.html"><EM>Statement on Academic
Integrity</EM></A> to be sure you understand the rules under which computer
science courses operate.  Cases of academic dishonesty will be reported
to the Office of Student Ethics, a branch of the Office of the Dean of
Students.

<H4>Withdrawal</H4>
Withdrawal after Wednesday, October 25th, requires concurrence of the Dean
based on extenuating circumstances.<P>

<H4>Incomplete grade</H4>
An incomplete (I) final grade will be given only by prior arrangement in
exceptional circumstances conforming to university and departmental policy
in which the bulk of course work has been completed in passing fashion.<P>

